package cn.mst.vrs.controller.admin.venue.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;

@Schema(description = "管理后台 - 体育场馆 Response VO")
@Data
@ExcelIgnoreUnannotated
public class VenueRespVO {

    @Schema(description = "体育场馆类型主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1097")
    @ExcelProperty("体育场馆类型主键ID")
    private Long typeId;

    @Schema(description = "体育场馆编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("体育场馆编码")
    private String code;

    @Schema(description = "体育场馆名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("体育场馆名称")
    private String name;

    @Schema(description = "体育场馆描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
    @ExcelProperty("体育场馆描述")
    private String description;

    @Schema(description = "场馆封面地址")
    private String posterUrl;

    @Schema(description = "开放时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("开放时间")
    @DateTimeFormat(pattern = "HH:mm")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime openedAt;

    @Schema(description = "关闭时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("关闭时间")
    @DateTimeFormat(pattern = "HH:mm")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime closedAt;

    @Schema(description = "单价（元 / 小时)", requiredMode = Schema.RequiredMode.REQUIRED, example = "8648")
    @ExcelProperty("单价（元 / 小时)")
    private BigDecimal price;

    @Schema(description = "当前场馆状态（0：关闭，1：空闲，2：使用中）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("当前场馆状态（0：关闭，1：空闲，2：使用中）")
    private Integer status;

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13712")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}